\input{../header}

\title{Guide for Module Developers}

\hypersetup{unicode=true,
            pdftitle={Guide for Module Developers},
            pdfauthor={U.S. Department of Energy},
            colorlinks=true,
            linkcolor=Maroon,
            citecolor=Blue,
            urlcolor=Blue,
            breaklinks=true}
\urlstyle{same}  % don't use monospace font for urls

\begin{document}


\input{src/guide-for-module-developers}

\input{src/introduction}

\input{src/modules-in-energyplus}

\input{src/modules-in-energyplus/what-is-a-module-anyway}

\input{src/modules-in-energyplus/what-is-a-module-developer}

\input{src/modules-in-energyplus/adding-new-features}

\input{src/input-concepts}

\input{src/input-concepts/input-data-dictionary}

\input{src/input-concepts/data-dictionary-naming-conventions}

\input{src/input-concepts/input-data-file}

\input{src/input-concepts/input-considerations}

\input{src/input-concepts/advanced-input-considerations}

\input{src/input-concepts/datasets}

\input{src/module-structure}

\input{src/module-structure/module-outline}

\input{src/module-structure/module-example}

\input{src/module-structure/changing-existing-code}

\input{src/module-structure/considerations-for-legacy-codes}

\input{src/module-structure/code-readability-vs-speed-of-execution}

\input{src/module-structure/how-it-fits-together}

\input{src/energyplus-calling-structure}

\input{src/energyplus-calling-structure/top-level-calling-tree}

\input{src/energyplus-calling-structure/high-level-hvac-calling-tree-schematic-not}

\input{src/energyplus-calling-structure/air-system-calling-tree-schematic-not-all}

\input{src/energyplus-calling-structure/plant-calling-tree-schematic-not-all-routines}

\input{src/energyplus-calling-structure/zone-equipment-calling-tree-schematic-not-all}

\input{src/energyplus-calling-structure/inserting-the-new-module-into-the-program}

\input{src/hvac-network}

\input{src/hvac-network/branches-connectors-and-nodes}

\input{src/hvac-network/nodes-in-the-simulation}

\input{src/hvac-network/getting-nodes}

\input{src/hvac-network/data-flow-in-an-hvac-component-module}

\input{src/hvac-network/interfacing-with-plant}

\input{src/hvac-network/node-mass-flow-variables}

\input{src/energyplus-services}

\input{src/energyplus-services/utility-routines-functions}

\input{src/energyplus-services/input-services}

\input{src/energyplus-services/object-services}

\input{src/energyplus-services/branch-node-checking-and-services}

\input{src/energyplus-services/schedule-services}

\input{src/energyplus-services/data-services}

\input{src/energyplus-services/other-useful-utilities}

\input{src/energyplus-services/error-messages}

\input{src/energyplus-services/display-strings}

\input{src/energyplus-services/performance-curve-services}

\input{src/energyplus-services/fluid-property-services}

\input{src/energyplus-services/weather-services}

\input{src/energyplus-services/global-data-flags-and-parameters}

\input{src/energyplus-services/psychrometric-services}

\input{src/energyplus-services/tabular-output-utilities}

\input{src/energyplus-services/internal-zone-gains-services}

\input{src/output}

\input{src/output/how-do-i-output-my-variables}

\input{src/output/output-variable-dos-and-don-ts}

\input{src/energy-management-system}

\input{src/energy-management-system/ems-actuator-interface}

\input{src/running-testing-energyplus-for-developers}

\input{src/running-testing-energyplus-for-developers/environment-variables-to-assist-running}

\input{src/running-testing-energyplus-for-developers/air-loop-simulation-environment-variables}

\input{src/quick-procedure-outline-for-making-code}

\input{src/important-rules-for-module-developers}

\input{src/appendix-a-dataglobals-and-dataenvironments}

\input{src/appendix-a-dataglobals-and-dataenvironments/dataglobals}

\input{src/appendix-a-dataglobals-and-dataenvironments/dataenvironment}

\input{src/appendix-b-submissions-and-check-ins}

\input{src/appendix-c-documentation-specifics}

\input{src/appendix-d-module-subroutine-function}

\input{src/appendix-e-test-file-documentation}

\input{src/appendix-f-new-or-changed-proposal-feature}

\input{src/appendix-g}

\end{document}
